package com.iot08.api.vo.request;

import com.iot08.api.vo.request.base.BaseAccountReqVO;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Field;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

/**
 * @author cwj
 * @description
 * @date 2024/11/11 9:29
 **/
@Data
public class HealthRemindReqVo extends BaseAccountReqVO {

    //健康类型：1-久坐提醒，2-喝水提醒
    @NotEmpty(message = "健康类型不可为空")
    private String type;

    //是否开启：0：关，1：开
    @NotEmpty(message = "健康开关不可为空")
    private String isOpen;

    //间隔分钟数
    @NotNull(message = "时间间隔不可为空")
    private Integer interval;

    //每天提醒的开始时间，格式: HH:mm（时：分）
    @NotEmpty(message = "提醒开始时间不能为空")
    @Pattern(regexp = "^(?:[01]\\d|2[0-3]):[0-5]\\d$", message = "提醒开始时间的格式不正确，必须为HH：mm格式")
    private String starTime;

    //每天提醒的结束时间，格式: HH:mm（时：分）
    @NotEmpty(message = "提醒结束时间不能为空")
    @Pattern(regexp = "^(?:[01]\\d|2[0-3]):[0-5]\\d$", message = "提醒结束时间的格式不正确，必须为HH：mm格式")
    private String endTime;

    //是否开启午休免打扰：0-关，1-开
    @NotEmpty(message = "午休免打扰开关不能为空")
    private String isNoonDnd;

    //午休免打扰开始时间，格式: HH:mm（时：分）
    private String dndstartTime;

    //午休免打扰结束时间，格式: HH:mm（时：分）
    private String dndEndTime;

    //重复提醒字符串，周天到周六，0或1组成的字符串
    @NotEmpty(message = "重复提醒星期设置不能为空")
    private String repStr;

    //目标值，根据不同功能选用
    @NotNull(message = "目标值不能为空")
    private Integer target;

}
